Programming with Crosscutting Effective Views
نویسندگان
چکیده
Aspect-oriented systems claim to improve modularity by providing explicit mechanisms that allow modularization of concerns which crosscut the object-oriented decomposition of a system in terms of classes. However, by modularizing concerns which crosscut classes, at the same time the structure and functionality associated with the classes themselves becomes scattered across the implementation of different aspects. This may hamper system understanding in other ways. In this paper we present a system that addresses this issue by allowing a developer to move fluidly between two alternative modular views on the decomposition of the program, editing the program either as decomposed into classes, or alternatively as decomposed into modules that crosscut classes. Thus developers gain the advantages of open classes, without having to give up the ability to edit the program directly in terms of classes.
منابع مشابه
Tools for Exploring and Editing Crosscutting Concerns
Typical programming languages allow only a single decomposition of a program into source files. This results in concerns that are difficult to work with because they cut across the primary decomposition. Current development environments do not provide adequate support for working with crosscutting structure because multiple tools are required to perform even simple explorations, forcing the dev...
متن کاملThe Techniques Programmers use to Cope with Crosscutting using Arcum
At their most essential, aspect languages, program analysis tools, and refactoring tools attempt to give programmers mechanisms to make it more cost effective to manage the crosscutting behavior in their programs. Arcum is a tool to help manage crosscutting that lets programmers define custom program checks and program transformations, using a declarative language [22]. In this paper we present...
متن کاملEarly Crosscutting Metrics as Predictors of Software Instability
Many researchers claim that crosscutting concerns, which emerge in early software development stages, are harmful to software stability. On the other hand, there is a lack of effective metrics that allow software developers to understand and predict the characteristics of “early” crosscutting concerns that lead to software instabilities. In general, existing crosscutting metrics are defined for...
متن کاملImproving Software Modularity through Crosscutting Concern Extraction
Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preservin...
متن کاملStudy on Aspect Extraction and Program Analysis for Effective Software Development
Aspect-Oriented Programming is proposed to improve modularity for crosscutting concerns. In aspect-oriented programming, an aspect can capture crosscutting structure based on Join Point Model which abstracts an execution of program as a sequence of join points. A join point represents a well-defined event during program execution such as method call, method execution, field access and exception...
متن کاملA Tool for Clustering-based Aspect Mining through Fan-in Calculation
Since the size and overall complexity of the software system have been increasing, the existing program has to be modularized on the basis of separation of concerns, so aspect oriented programming tries to address the existing program by modularizing the crosscutting functionality into more precise and manageable modules known as aspects. We have proposed a tool Aspect-CAM (Clustering-based Asp...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004